// 默认起始日期
const DEFAULT_START_DATE = "2025-09-01";

// DOM元素
const startDateInput = document.getElementById('startDate');
const saveBtn = document.getElementById('saveBtn');
const resetBtn = document.getElementById('resetBtn');
const statusDiv = document.getElementById('status');

// 显示状态消息
function showStatus(message, isError = false) {
    statusDiv.textContent = message;
    statusDiv.className = `status ${isError ? 'error' : 'success'}`;
    statusDiv.style.display = 'block';
    
    // 3秒后自动隐藏
    setTimeout(() => {
        statusDiv.style.display = 'none';
    }, 3000);
}

// 保存设置
async function saveSettings() {
    try {
        const startDate = startDateInput.value;
        
        if (!startDate) {
            showStatus('请选择起始日期', true);
            return;
        }
        
        // 验证日期是否为周一
        const date = new Date(startDate);
        const dayOfWeek = date.getDay();
        if (dayOfWeek !== 1) {
            showStatus('起始日期必须是周一', true);
            return;
        }
        
        // 保存到Chrome storage
        await chrome.storage.sync.set({
            semesterStartDate: startDate,
            isFirstTime: false  // 标记已完成首次设置
        });
        
        showStatus('设置已保存！现在可以返回课表页面使用插件了。');
    } catch (error) {
        console.error('保存设置失败:', error);
        showStatus('保存失败，请重试', true);
    }
}

// 重置为默认设置
async function resetSettings() {
    try {
        startDateInput.value = DEFAULT_START_DATE;
        await chrome.storage.sync.set({
            semesterStartDate: DEFAULT_START_DATE
        });
        showStatus('已恢复默认设置');
    } catch (error) {
        console.error('重置设置失败:', error);
        showStatus('重置失败，请重试', true);
    }
}

// 加载保存的设置
async function loadSettings() {
    try {
        const result = await chrome.storage.sync.get(['semesterStartDate', 'isFirstTime']);
        const savedDate = result.semesterStartDate;
        const isFirstTime = result.isFirstTime !== false;
        
        // 显示首次使用引导
        if (isFirstTime) {
            document.getElementById('firstTimeGuide').style.display = 'block';
            document.getElementById('pageTitle').textContent = '欢迎使用 - SMU课表导出设置';
        }
        
        if (savedDate) {
            startDateInput.value = savedDate;
        } else {
            // 如果没有保存的设置，使用默认值
            startDateInput.value = DEFAULT_START_DATE;
        }
    } catch (error) {
        console.error('加载设置失败:', error);
        startDateInput.value = DEFAULT_START_DATE;
    }
}

// 事件监听器
saveBtn.addEventListener('click', saveSettings);
resetBtn.addEventListener('click', resetSettings);

// 页面加载时读取设置
document.addEventListener('DOMContentLoaded', loadSettings);
